home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / machine / 8254pit.c < prev    next >
C/C++ Source or Header  |  2000-04-23  |  3KB  |  166 lines

  1.  
  2. #include "driver.h"
  3. //#include <stdio.h>
  4.  
  5. #include "machine/8254pit.h"
  6.  
  7.  
  8.  
  9. void pit8254_init (pit8254_interface *intf)
  10. {
  11.  
  12. }
  13.  
  14. void pit8254_w (int which, int offset, int data)
  15. {
  16.     switch (offset)
  17.     {
  18.         case 0:
  19.             logerror("PIT8254#%d write %d to timer1\n",which, data);
  20.             break;
  21.         case 1:
  22.             logerror("PIT8254#%d write %d to timer2\n",which, data);
  23.             break;
  24.         case 2:
  25.             logerror("PIT8254#%d write %d to timer3\n",which, data);
  26.             break;
  27.         case 3:
  28.             {
  29.                 int sc=(data>>6)&3;
  30.                 int rw=(data>>4)&3;
  31.                 int mode=(data>>1)&0x07;
  32.                 int bcd=data&0x01;
  33.                 logerror("PIT8254#%d write %02x to control : ", which, data);
  34.                 logerror("*** SC=%d RW=%d MODE=%d BCD=%d\n",sc, rw, mode, bcd);
  35.             }
  36.  
  37.             break;
  38.     }
  39. }
  40.  
  41. int pit8254_r (int which, int offset)
  42. {
  43.     switch (offset)
  44.     {
  45.         case 0:
  46.             logerror("PIT8254#%d read from timer1\n", which);
  47.  
  48.             break;
  49.         case 1:
  50.             logerror("PIT8254#%d read from timer2\n", which);
  51.             break;
  52.         case 2:
  53.             logerror("PIT8254#%d read from timer3\n", which);
  54.             break;
  55.         case 3:
  56.             logerror("PIT8254#%d read from control\n", which);
  57.             break;
  58.     }
  59.  
  60.     return 0;
  61. }
  62.  
  63. /*
  64. Port handler wrappers.
  65. */
  66.  
  67. WRITE_HANDLER( pit8254_0_w )
  68. {
  69.     pit8254_w(0, offset, data);
  70. }
  71.  
  72. WRITE_HANDLER( pit8254_0_counter1_w )
  73. {
  74.     pit8254_w(0, 0, data);
  75. }
  76.  
  77. WRITE_HANDLER( pit8254_0_counter2_w )
  78. {
  79.     pit8254_w(0, 1, data);
  80. }
  81.  
  82. WRITE_HANDLER( pit8254_0_counter3_w )
  83. {
  84.     pit8254_w(0, 2, data);
  85. }
  86.  
  87. WRITE_HANDLER( pit8254_0_control_w )
  88. {
  89.     pit8254_w(0, 3, data);
  90. }
  91.  
  92. WRITE_HANDLER( pit8254_1_w )
  93. {
  94.     pit8254_w(1, 0, data);
  95. }
  96.  
  97. WRITE_HANDLER( pit8254_1_counter1_w )
  98. {
  99.     pit8254_w(1, 0, data);
  100. }
  101.  
  102. WRITE_HANDLER( pit8254_1_counter2_w )
  103. {
  104.     pit8254_w(1, 1, data);
  105. }
  106.  
  107. WRITE_HANDLER( pit8254_1_counter3_w )
  108. {
  109.     pit8254_w(1, 2, data);
  110. }
  111.  
  112. WRITE_HANDLER( pit8254_1_control_w )
  113. {
  114.     pit8254_w(1, 3, data);
  115. }
  116.  
  117.  
  118. READ_HANDLER( pit8254_0_r )
  119. {
  120.     return pit8254_r(0, offset);
  121. }
  122.  
  123. READ_HANDLER( pit8254_0_counter1_r )
  124. {
  125.     return pit8254_r(0, 0);
  126. }
  127.  
  128. READ_HANDLER( pit8254_0_counter2_r )
  129. {
  130.     return pit8254_r(0, 1);
  131. }
  132.  
  133. READ_HANDLER( pit8254_0_counter3_r )
  134. {
  135.     return pit8254_r(0, 2);
  136. }
  137.  
  138. READ_HANDLER( pit8254_0_control_r )
  139. {
  140.     return pit8254_r(0, 3);
  141. }
  142.  
  143. READ_HANDLER( pit8254_1_r )
  144. {
  145.     return pit8254_r(1, offset);
  146. }
  147.  
  148. READ_HANDLER( pit8254_1_counter1_r )
  149. {
  150.     return pit8254_r(1, 0);
  151. }
  152.  
  153. READ_HANDLER( pit8254_1_counter2_r )
  154. {
  155.     return pit8254_r(1, 1);
  156. }
  157.  
  158. READ_HANDLER( pit8254_1_counter3_r )
  159. {
  160.     return pit8254_r(1, 2);
  161. }
  162. READ_HANDLER( pit8254_1_control_r )
  163. {
  164.     return pit8254_r(1, 3);
  165. }
  166.